home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
276-300
/
disk_290
/
ipc
/
sources
/
read_me
< prev
next >
Wrap
Text File
|
1992-05-06
|
4KB
|
99 lines
IPC Demo Sources
================
This directory contains source files for a Simple Server/Client pair
-- the client simply sends text to the server for output -- and a more
complex Print Formatting Server ("FormatServer"), with a very dumb Client
program to test it ("FormatClient"). There are also a simple Port Broker
and a "Cleaner" for checking and fixing errant IPCPorts, plus very short
program that will send a standard QUIT message (which should be recognized
by ALL servers) to specified IPCPorts. These sources are mostly heavily
commented, and are intended as demonstrations of how to use the IPC
protocols. The icons at the parent level of this package will actually run
these demo programs if you want to try them out.
Include header files:
IPC.h -- a copy of the file from IPC_Sources, for convenience.
IPC_proto.h -- direct library call definitions for Lattice 4.0/5.0
Source Files:
SimpleServer.c
SimpleClient.c
Quit.c
FormatServer.c
FormatClient.c
Both of the "Format.." modules must be linked with the
floating-point math library.
Broker_skel.c -- an incomplete core structure for a Port Broker
Broker.c -- a simple working Broker
Cleaner.c
Documentation:
FormatServer.doc -- A detailed description of the message format
accepted by FormatServer, and the requirements for
using it.
FormatClient.doc -- A short description of the test program and its
commands.
For more on the Broker and Cleaner programs, please refer to the Broker
directory.
++++++++++++++
Compatibility:
These programs have been tested under Lattice 5.02/5.04. They will
need some conversion (ensuring LONGS are used where necessary, and so
on) for compilation under Manx (and will also need assembly library
linkage routines).
Notes:
The two "Simple..." programs are trivial examples of accessing an
IPCPort and passing simple messages. They should be straightforward
to follow. The "Format.." examples are much more extensive; the server
in particular has to do a lot of work to handle all the items that
might be thrown at it; it is probably mure complex than a good example
program should be... The FormatClient, too, plays a few games with
messages, just to test out the system. If they are intimidatingly
complex, my apologies.
The Format handling programs have been written to reduce space as much
as possible: they use '_main()' rather than main(), for instance, and
don't use C level I/O -- just AmigaDOS calls. They should be compiled
using the Lattice -v switch, to reduce space a little more, and there
may be other measures that could be taken.
This means that they CANNOT be invoked directly from an icon in their
present form -- only from a CLI. AS they need to run simultaneously
they must either be started from their own CLI, or with the RUN command
(remembering that they both can generate console output).
You can use an Xicon script to set them both going in a suitable
environment (as in the demo icon in this package), but there are TRAPS!
These seem to be due to a bug in (1.2 -- may be fixed in 1.3) RUN,
which has problems when it is invoked from an AmigaDOS Execute() call:
you MUST redirect the output of RUN ITSELF to NIL: to avoid Guruing.
For example:
RUN >NIL: FormatServer >"CON:100/50/450/100/Format Server Output"
[This is nothing to do with IPC -- it is a general problem Xicon has
with AmigaDOS -- as far as I can tell, it's the systems fault (:-))]
See the script for the demo (in directory IPC_demo) for more details.